             package com.java.diagnostics.visualizer.gc.realtime.parser;
             
             import com.java.diagnostics.visualizer.data.SourceData;
             import com.java.diagnostics.visualizer.exceptions.GCAndMemoryVisualizerException;
             import com.java.diagnostics.visualizer.gc.realtimeV2.parser.BaseParser;
             import com.java.diagnostics.visualizer.impl.factory.LogFactory;
             import com.java.diagnostics.visualizer.parser.vgc.VGCParser;
             import com.java.diagnostics.visualizer.properties.OutputProperties;
             import com.java.diagnostics.visualizer.sources.Source;
             import java.util.logging.Logger;
             
             public class RealTimeParserV2
               implements VGCParser
             {
               private static final Logger TRACE = LogFactory.getTrace(RealTimeParserV2.class);
               
               private static String QUOTE = "\"";
               
               public boolean isParseableSource(Source source) throws GCAndMemoryVisualizerException
               {
                 TRACE.entering(RealTimeParserV2.class.getName(), "isParseableSource");
                 
                 boolean hasElement = source
                   .containsWithinReasonableDistanceOfStart(new String[] {
                   QUOTE + "heartbeat" + QUOTE, 
                   QUOTE + "cycle start" + QUOTE, 
                   QUOTE + "trigger start" + QUOTE, 
                   QUOTE + "synchgc" + QUOTE, 
                   "value=\"-Xgcpolicy:metronome\"" });
                 if (hasElement) {} boolean answer = 
                 
                   !source.containsWithinReasonableDistanceOfStart(new String[] {
                   "priogc", 
                   " freebytes=" });
                 TRACE.exiting(RealTimeParserV2.class.getName(), "isParseableSource");
                 return answer;
               }
               
               public SourceData parse(Source source, OutputProperties properties) throws GCAndMemoryVisualizerException
               {
                 TRACE.entering(RealTimeParserV2.class.getName(), "parse");
                 BaseParser parser2 = new BaseParser();
                 SourceData data = parser2.parse(source, properties);
                 TRACE.exiting(RealTimeParserV2.class.getName(), "parse");
                 return data;
               }
             }


